1. Field of the Invention
The present invention generally relates to a data communication method, a data communication system, a data communication program and a recording medium.
2. Description of the Related Art
Recently, the enrichment of communication functions provided to an information terminal and the development of communication networks have motivated to propose a variety of network applications (services). The network applications are typically classified as follows;                (1) Offering asynchronous one-to-one communication in principle such as e-mail systems.        (2) Obtaining information through free access of a large number of clients to a server such as a visit to Internet web sites.        (3) Offering simultaneous communication among several people in principle such as on-line chat systems, teleconference systems, and shared whiteboard systems.        
At present, the mainstream of the network applications aims at the service types (1) and (2). In order to use such a network application for performing the service types (1) and (2) to communicate information, it is indispensable to prepare for a dedicated server. For instance, the e-mail systems require a server for sending and receiving information (mail server). Also, in order to provide the Internet web site service, it is necessary to prepare for a server for receiving accesses to the contents therein from unspecified hosts (Web server). When such a dedicated server is used, it is required to not only buy the server but also shoulder some additional expenses: for instance, the expense to set up, the expense to manage the server, and the expense to employ an administrator for the server. Thus, it is recently desired to develop a communication system and method capable of communicating information with no use of any dedicated server.
On the other hand, concerning such network applications for offering simultaneous communication among a large number of people (a large number of hosts) classified as the service type (3), it seems that the network applications other than on-line chat systems where text-based information is communicated are not so widely used. However, computer-based communication is expected to enter the broadband age in future. As a result, there would arise the stronger demand for a multimedia online-chat application having multimedia functions and a multimedia application such as teleconference systems. In future, it is expected to popularize the use of a network application offering simultaneous communication among a large number of people (hosts) classified as the service type (3).
Meanwhile, it is indispensable to provide a network application with communication functions such as “multicast” and “broadcast”. In the multicast communication, one host can communicate with a plurality of specified hosts. On the other hand, in the broadcast, one host can communicate with all unspecified clients. Under the multicast and the broadcast, if a host sends a packet to a network address, which is designated for each of the multicast and the broadcast, (multicast address and broadcast address) only one time, a host can simultaneously send the packet to desired hosts connected to the host via a network. For that reason, the multicast function and the broadcast function work in favor of the processing efficiency and the band utility ratio of the network.
For instance, by using an educational information system, a teacher can send information to hosts of students in the class. Also, by using a conference information system, a speaker can send information to hosts of participants in the conference. These systems often utilize the multicast function and the broadcast function mentioned above. In contrast, under a one-to-one communication function such as a unicast function, for instance, if there are ten hosts where data should be sent, it is necessary to perform an operation to send the data ten times. Thus, the multicast function and the broadcast function can be used to avoid an unnecessary operation and improve the utilization efficiency of the network band. In the above-mentioned cases, it is preferable to use the multicast and the broadcast that can complete the process to send the same data to a plurality of hosts by operating only one time.
From the viewpoint of the property of the multicast communication, that is, identical data are sent to a plurality of specified hosts, the multicast communication adopts UDP (User Datagram Protocol) as a protocol for the transport layer in a communication network. In the connectionless type of protocol UDP, when a receiver host cannot receive data because of disconnection of the receiver host to the network, no response is replied for a confirmation request from the sender of the data. Consequently, the UDP has insufficient reliability in that even if a packet of the data is missed or packets of the data arrive in inappropriate order, the UDP accepts the data in the condition where the packets of the data are received without requesting to resend the missing packet and arranging the inappropriate order of the packets. On the other hand, since the UDP receives packets of the data without any care such as the resending request and the reordering process, the UDP is suitable for multimedia communication for audio data and video data that do not cause any serious trouble even if the above-mentioned problem occurs. Therefore, if the UDP is used as the transport layer protocol, another layer of the communication network, that is, the application layer has to be responsible to deal with the response confirmation.
Here, the typical transport protocol TCP (Transmission Control Protocol), which is a connection type protocol, is used for the one-to-one communication function such as the unicast. Unlike the UDP, the TCP can realize reliable communication in that the TCP can overcome the above-mentioned problem such as the lack of packet and the inappropriate packet arrival order. Consequently, the TCP is suitable for communication of a control signal and data. Under the TCP, however, when data are simultaneously sent to a plurality of hosts, it is necessary to establish connections whose number is equal to the number of the hosts and send the identical data repeatedly. As a result, the TCP incurs increasing unnecessary processes in terms of processes executed by the hosts and the band efficiency of the network connected to the hosts.
Recently, various data communication methods have been proposed in order to compensate for the insufficient reliability of the multicast communication.
Japanese Laid-Open Patent Application No. 11-17713 discloses a multicast communication processing method. In this disclosure, a central control apparatus and a plurality of slaver apparatuses, which are connected to each other via a network, are prepared as an environment for the multicast communication method. The disclosed multicast communication processing method determines whether or not the number of slaver apparatuses that inform the central control apparatus that the slaver apparatuses have received messages from the central control apparatus coincide with the number of slaver apparatuses connected to the network.
Japanese Laid-Open Patent Application No. 11-161622 discloses a communication system. In this disclosure, a central server is prepared for the communication system and works for a communication link that-has high probability of information loss. When information is sent via the communication link, the central server provides a missing portion of information so that the entire information can be restored.
Japanese Laid-Open Patent Application No. 2000-22687 discloses a wide area monitoring system for improving the insufficient reliability of the multicast. In the wide area monitoring system, a prepared server is responsible to collect entire data and deliver the data periodically or at the time when an event arises.
As mentioned above, however, all these system are based on the use of a server.
In a conference system where a plurality of hosts are connected to each other and information is communicated among the hosts, it is more preferable to use a communication system that operates in a “peer-to-peer” fashion than a “client server” fashion for some reasons. First, the client server type communication system tends to be complicated. Second, the place where the conference is held is not restricted in the peer-to-peer type communication system, that is, the conference can be held even at the place where the communication system cannot be connected to any server. Third, some expenses such as the server installation cost, the administrator personnel cost, and the management cost can be neglected in the peer-to-peer type communication system.